package com.mini.cn.goods.io.netty.io;

/**
 * Created with IntelliJ IDEA.
 * User: fly
 * Date: 2020-03-28
 * Time: 10:09 上午
 */
public interface IFourLayerConfig {

    /**
     * 连接响应时间
     *
     * @return 连接超时时间
     */
    long getConnectTimeout();

    /**
     * backlog
     *
     * @return backlog的配置个数
     */
    int getBackLog();

    /**
     * 是否是对外的直接内存
     *
     * @return
     */
    boolean ifdirectBuffer();

    /**
     * 一个Loop写操作执行的最大次数
     *
     * @return
     */
    int getWriteLoopCount();

    /**
     * 高低水位
     *
     * @return
     */
    String getBufferWaterMark();

    /**
     * 是否启动Nagle算法
     *
     * @return
     */
    boolean isNoNagle();

    /**
     * 是否tcp心跳
     *
     * @return
     */
    boolean isKeepLive();

    /**
     * 延迟发送的设置
     *
     * @return
     */
    int getLinger();

    /**
     * 表示允许重复使用本地地址和端口 解决time_wait
     *
     * @return
     */
    boolean ifReuseAddr();

    /**
     * 一个连接的远端关闭时本地端是否关闭
     *
     * @return
     */
    boolean ifAllowHalfClosure();
}
